package shared

import shared.Pojo._

import scala.collection.immutable.SeqMap
import shared.implicits.Implicits._

/**
 * Created by yz on 9/7/2020
 */
object VarTool {

  val phoneRegexpStr = "^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$"
  val emailRegexpStr = "^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"
  val long2fatStr = "long2fat"
  val hJoinStr = "hJoin"
  val metDataStr = "metData"
  val groupStr = "group"

  val dataKinds = List(VarInfoDataKind, MetDataKind, GroupDataKind,BiomDataKind)
  val cvPrefixs = List("RF", "GB", "LR")


  val dataKindMap = dataKinds.map { x =>
    (x.name -> x)
  }.toMap
  val showDirNameMap = dataKinds.map { x =>
    (x.showDirName -> x)
  }.toSeqMap

  val libTypeMap = SeqMap(
    "smpdb_pathway" -> "Pathway-associated metabolite sets (SMPDB)",
    "blood" -> "Disease-associated metabolite sets (Blood)", "urine" -> "Disease-associated metabolite sets (Urine)",
    "csf" -> "Disease-associated metabolite sets (CSF)", "snp" -> "SNP-associated metabolite sets",
    "predicted" -> "Predicted metabolite sets", "location" -> "Location-based metabolite sets",
    "drug" -> "Drug-pathway-associated metabolite sets"
  )


}

